﻿/*
 * Created by SharpDevelop.
 * User: Andrew
 * Date: 12/05/2013
 * Time: 12:04
 * 
 * To change this template use Tools | Options | Coding | Edit Standard Headers.
 */
using System;
using System.Drawing;
using RRRSRoguelikeData;

namespace RRRSRoguelike.Entities.Props
{
	/// <summary>
	/// Description of Prop.
	/// </summary>
	public class Prop:Tile
	{
		/// <summary>
		/// Called on entering a floor tile.
		/// </summary>
		public event EventHandler Activated = delegate{};
		/// <summary>
		/// Called on exiting a tile.
		/// </summary>
		public event EventHandler Destroyed = delegate{};
		
		/// <summary>
		/// Constructor
		/// </summary>
		/// <param name="position"></param>
		/// <param name="tileData"></param>
		public Prop(Point position,TileData tileData): base(position, tileData)
		{
		}
		
		/// <summary>
		/// Constructor
		/// </summary>
		/// <param name="imageCharacter"></param>
		/// <param name="color"></param>
		/// <param name="position"></param>
		public Prop(string imageCharacter, ConsoleColor color, Point position):base(imageCharacter,color,position)
		{}
		
		/// <summary>
		/// event
		/// </summary>
		/// <param name="sender"></param>
		/// <param name="e"></param>
		public void OnActivate(object sender, EventArgs e)
		{
			Activated(sender, e);
		}
		
		/// <summary>
		/// event
		/// </summary>
		/// <param name="sender"></param>
		/// <param name="e"></param>	
		public void OnDestroy(object sender, EventArgs e)
		{
			Destroyed(sender, e);
		}
	}
}
